package com.codefish;


public class ConstantVariate0520 {
    public static void main(String[] args) {

        //常量:程序运行期间，内容不会发生改变的量

        //字符串常量
        System.out.println("LALALA~");
        System.out.println("aaa");
        //System.out.println("");     //字符串两个双引号中间的内容为空（妈的报错给了我3个无意义的单词）

        //整数常量
        System.out.println(888);
        System.out.println(-999);

        //浮点数常量(小数)
        System.out.println(3.1415926575);
        System.out.println(-1.234567);

        //字符常量
        System.out.println('W');
        System.out.println('H');
        System.out.println('B');
        System.out.println('6');
        System.out.println('6');
        System.out.println('6');

        //布尔常量
        System.out.println(true);
        System.out.println(false);

        //空常量不能直接输出(null)

        /*
        基本数据类型
        整数型  byte  short  long
        浮点型  float  double
        字符型  char
        布尔型  boolean

        引用数据类型
        字符串、数组、类、接口、Lambda

        注意
        1.字符串不是基本类型，而是引用类型
        2.浮点型可能只是一个近似值，并非精确的值
        3.数据范围与字节数不一定相关，例如float数据范围比long更加广泛，但是dloat是4字节，long是8字节
        4.浮点数当中默认类型是double.如果一定要使用float类型，需要加上一个后缀F.
          如果是正数，默认为int类型，如果一定要使用long类型，需要加上一个后缀L.
         */

        //变量:程序运行期间，内容可以发生改变的量.
        //创建变量，赋值
        int num1;
        num1 = 10;
        System.out.println(num1); //10
        //重新赋值
        num1 = 20;
        System.out.println(num1); //20

        //一步到胃
        int num2 = 30;
        System.out.println(num2); //30
        //重新赋值
        num2 = 40;
        System.out.println(num2); //40

        byte num3 = 88;
        System.out.println(num3); //88  取值范围 -128至127

        short num4 = 50;
        System.out.println(num4); //50

        long num5 = 6000000000L; //长整数型
        System.out.println(num5); //6000000000

        float num6 = 2.5F;
        System.out.println(num6); //2.5

        double num7 = 2.6;
        System.out.println(num7); //2.6

        char zifu1 = 'A';
        System.out.println(zifu1); //A

        zifu1 = '中';
        System.out.println(zifu1); //中

        boolean var1 = true;
        System.out.println(var1); //true
        var1 = false;
        System.out.println(var1); //false

        boolean var2 = var1; //将var1的值给var2, var2的值等于var1



        /*
        1.如果创建多个变量，变量之间的名称不可以重复。
        2.对于float和long类型来说，字母后缀F和L不要丢掉。
        3.如果使用byte或者short类型的变量，那么右侧的数据值不能超过左侧类型的范围。
        4.没有进行赋值的变量，不能直接使用；一定要赋值之后，才能使用。
        5.变量使用不能超过作用域的范围。
        【作用域】：从定义变量的一行开始，一直到直接所属的大括号结束为止。（变量的有效范围内）
                  在创建变量之前，不能使用这个变量.
        6.可以通过一个语句来创建多个变量，但是一般情况不推荐。

         */
        //同时创建三个全都是int类型的变量，分别赋值。
        int a,b,c;
        a = 10;
        b = 20;
        c = 30;
        System.out.println(a); //10
        System.out.println(b); //20
        System.out.println(c); //30

        //一步到胃
        int d = 100,e = 200,f = 300;
        System.out.println(d); //100
        System.out.println(e); //200
        System.out.println(f); //300


        char charA = 'a';
        System.out.println("字符："+charA);

        int intA= (int) charA;
        System.out.println("ask码："+intA);

    }

}

